---
sidebar_position: 2.1
description: Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架，目的是解决企业应用开发的复杂性
---
# 简介
##  Spring简介
* Spring的前身是 interface21，在 2002 年的时候首次推出了 Spring 框架的雏形：interface21
* 2004年3月24号，Spring 框架以 interface21为基础，经过重新设计，并不断丰富其内涵，于2004年3月24日发布了1.0正式版。
* Rod Johnson,Spring Framework创始人。
* Spring理念：使现有的技术更加容易使用，本身是一个大杂烩（整合了现有的技术框架）。
* SSM:SpringMVC Spring MyBatis,Spring 融合
* 官网：https://spring.io/projects/spring-framework
```xml
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.22</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.3.22</version>
</dependency>
```
## 优点
* Spring是一个开源的免费的容器（框架）！
* Spring是一个轻量级、非侵入式的框架！
* 控制反转（IOC）、面向切面编程（AOP）！
* 支持事务的处理，对框架整合的支持较好

:::tip
**Spring 是一个轻量级的控制反转（IOC）和面向切面（AOP）的容器框架！**
:::
## 组成
<figure>
    <img src={require('./img/spring七大模块.png').default}/>
    <center><figcaption>spring七大模块</figcaption></center>
</figure>

spring里面有七大模块

:::tip 扩展
现代化的Java开发，说白了就是基于Spring的开发！<br/>
* SpringBoot 一个快速开发的脚手架,基于SpringBoot可以快速开发单个微服务。约定大于配置！<br/>
* SpringCloud 是基于SpringBoot实现的<br/>

<figure>
    <img src={require('./img/springboot和springcloud.png').default}/>
    <center><figcaption>springboot和springcloud</figcaption></center>
</figure>

spring 发展了太久之后，违背了原来的理念！配置十分繁琐，”配置地狱”，SpringBoot应运而生！
:::